package com.kang.util;

import com.kang.entity.Label;
import com.kang.entity.SysMenu;

import java.util.ArrayList;
import java.util.List;

public class LabelHelper {

    //构建树形结构
    public static List<Label> buildTree(List<Label> labelList) {
        //封装最终集合数据
        List<Label> resultList = new ArrayList<>();
        //遍历所有菜单集合
        for (Label label : labelList) {
            if (label.getParentId() == 0) {
                resultList.add(findChildren(label,labelList));
            }
        }
        return resultList;
    }

    //从根节点查询子节点  是子节点就进行数据封装
    public static Label findChildren(Label label, List<Label> labelList) {
        //数据初始化
        label.setChildren(new ArrayList<>());
        //遍历递归查找
        for (Label label1 : labelList) {
            if (label.getId().equals(label1.getParentId())) {
                label.getChildren().add(findChildren(label1,labelList));
            }
        }
        return label;
    }

}
